package cn.fanyc.action.blockchain.fbc.contract.api;

import java.util.List;

/**
 * 数据列表管理接口
 *
 * @author Fanyc
 * @date 2020-10-19 16:21
 */
public interface StateList {

    /**
     * 添加数据对象
     * @param state 数据对象
     * @return 新的数据对象列表
     */
    StateList addState(State state);

    /**
     * 获取数据对象
     * @param key 唯一key
     * @return 数据对象
     */
    State getState(String key);

    /**
     * 更新数据对象
     * @param state 数据对象
     * @return 更新后的对象列表
     */
    StateList updateState(State state);

    /**
     * 所有Key集合
     * @return Key列表
     */
    List<Object> getKeys();
}
